﻿using System;
using Simp.Model.CoreExpressions.Sequences;

namespace Simp.Model.CoreExpressions
{
	/// <summary>Exposes a package or a set of expressions defined in this assembly.</summary>
	public static class CorePackage
	{
		private static readonly IExpression[] _expressionList = new IExpression[]
		{
			new NegativerExpression(),
			new AdditionExpression(),
			new SubstractionExpression(),
			new MultiplicationExpression(),
			new DivisionExpression(),
			new PowerExpression(),
			new SqrtExpression(),
			new LenExpression(),
			new CumulateFunction(),
			new ListExpression(),
			new ElementSelectorExpression(),
			new RangeSelectorExpression()
		};

		/// <summary>Returns the set of expressions defined in this assembly.</summary>
		public static IExpression[] Package
		{
			get { return (IExpression[])_expressionList.Clone(); }
		}
	}
}